Kotlin Android Jetpack Compose 从入门到实战
📚 共计 30 章节
第01章
Compose 初体验
什么是 Jetpack Compose?声明式 UI 与命令式 UI 的区别,Compose 的优势与适用场景,环境搭建与第一个 Compose 项目。
入门
环境
第02章
Compose 核心思想
Composable 函数详解,重组(Recomposition)机制,状态驱动 UI,单向数据流。
核心
状态
第03章
布局基础
Column、Row、Box 三大布局组件,Modifier 修饰符详解,对齐与排列方式。
布局
Modifier
第04章
常用组件
Text、Button、Image、TextField 的使用与自定义,Icon 与图标系统。
组件
Material
第05章
状态管理(上)
remember 与 mutableStateOf,状态提升(State Hoisting),ViewModel 集成。
状态
ViewModel
第06章
状态管理(下)
StateFlow 与 collectAsState,Compose 中的副作用(LaunchedEffect、DisposableEffect),rememberCoroutineScope。
Flow
副作用
第07章
列表与网格
LazyColumn 与 LazyRow,LazyVerticalGrid,列表项点击与滑动删除。
列表
Lazy
第08章
导航与路由
Navigation Compose 入门,NavHost 与 NavController,参数传递与深层链接。
导航
路由
第09章
主题与样式
Material3 主题定制,颜色、字体、形状系统,暗黑模式适配。
主题
Material3
第10章
动画基础
animate*AsState 系列,AnimatedVisibility,Crossfade 与 AnimatedContent。
动画
过渡
第11章
高级动画
Animatable 与 AnimationSpec,手势动画(拖拽、缩放),自定义动画。
高级动画
手势
第12章
手势与触摸
clickable、pointerInput、detectTapGestures、detectDragGestures,多点触控。
手势
触摸
第13章
自定义布局
Layout 与 MeasurePolicy,自定义测量与摆放,IntrinsicSize 与固有尺寸。
自定义
测量
第14章
Canvas 绘图
Canvas 组件基础,drawLine、drawCircle、drawPath,自定义绘制组件。
Canvas
绘制
第15章
Compose 与 View 互操作
AndroidView 嵌入传统 View,ComposeView 在传统布局中使用,Fragment 与 Compose 混合。
互操作
View
第16章
依赖注入
Hilt 集成 Compose,hiltViewModel() 的使用,手动 DI 方案。
Hilt
DI
第17章
网络请求
Retrofit + OkHttp 集成,Coil 加载图片,状态管理与错误处理。
网络
Coil
第18章
本地存储
Room 数据库集成,DataStore 替代 SharedPreferences,文件读写。
Room
DataStore
第19章
权限管理
运行时权限请求,Accompanist Permissions 库,相机与存储权限实战。
权限
Accompanist
第20章
测试基础
Compose UI 测试框架,semantics 与测试标签,findNode 与断言。
测试
UI
第21章
测试进阶
异步测试与等待,自定义测试规则,MockK 模拟依赖。
进阶
MockK
第22章
性能优化
重组优化(remember、derivedStateOf),列表性能(key、itemContentType),布局性能(IntrinsicSize、SubcomposeLayout)。
性能
重组
第23章
架构模式
MVI 模式在 Compose 中的应用,单向数据流实践,Reducer 与 Store。
MVI
架构
第24章
组件库封装
通用 Button、TextField、Dialog 封装,主题化与可配置性,发布到 Maven 本地仓库。
封装
组件库
第25章
实战项目一:待办事项 App
CRUD + 状态管理 + 列表 + 导航。
实战
CRUD
第26章
实战项目二:天气 App
网络请求 + 状态管理 + Canvas 绘图 + 动画。
实战
天气
第27章
实战项目三:音乐播放器
媒体播放 + 手势控制 + 自定义布局 + 后台服务。
实战
播放器
第28章
实战项目四:即时通讯 UI
WebSocket + 列表性能优化 + 输入框 + 表情面板。
实战
IM
第29章
Compose Multiplatform 入门
KMP 项目结构,共享 UI 与平台差异化,iOS 端运行。
KMP
跨平台
第30章
课程总结与未来展望
Compose 生态全景,学习路线建议,常见面试题解析。
总结
面试